1. Field of the Invention
The present invention relates to radio frequency interference (RFI) cancellation and in particular to an RFI canceller in a multi-carrier modulation receiver.
2. Description of the Related Art
A multi-carrier modulation (MCM) system utilizes a superposition of a plurality of tones (or sub-carriers) to transmit information. Each tone carries a certain bit-load of information using a certain modulation technique such as quadrature amplitude modulation (QAM), by way of example and not by limitation. Other modulation systems can be used for each tone such as Carrierless Amplitude and Phase modulation (CAP), Quadrature Phase Shift Keying (QPSK), vestigial sideband modulation, etc. For instance, if 16-QAM is used for a particular tone, it allows 16 different combinations in the amplitude and phase for this tone and therefore enables this tone to carry 4-bits of information. All tones in a MCM system are orthogonal to one another and therefore each can be separated and detected, and the respective certain bit-load of information can be retrieved by the remote receiver on a per-tone basis.
The present description uses VDSL (very high speed digital subscriber line) to demonstrate embodiments of the present invention, although this invention has many embodiments and is applicable to a general MCM system and other modulation systems. VDSL is a standard of using MCM to transmit high-speed data over unshielded twisted pair of telephone lines. VDSL defines a bi-directional data transmission between a line termination (LT) unit and a network termination (NT) unit using the same twisted pair of telephone lines. The data traffic from LT to NT is called “downstream” while the data traffic from NT to LT is called “upstream.” VDSL utilizes frequency domain duplex (FDD) to allow simultaneous transmission of upstream and downstream data. The standard available frequency band (from 138 KHz to 12 MHz) is divided into two upstream sub-bands and two downstream sub-bands as shown in FIG. 1. Upstream traffic utilizes tones whose frequencies fall within the two upstream sub-bands 104, 105, while downstream traffic utilizes tones whose frequencies fall within the two downstream sub-bands 102, 103. The frequency of every tone used in either upstream or downstream traffic must be an integer multiple of the tone spacing Δf=4.3125 KHz. Therefore, downstream tones are orthogonal to upstream tones and they can be detected separately. This allows a simultaneous transmission of downstream and upstream traffic over the same twisted pair of telephone lines.
However, the VDSL system shares its frequency band with different types of radio transmissions. In particular, and for example, VDSL is subject to narrowband radio frequency interference (RFI) that is generated by an amateur radio transmitter and picked up by the unshielded twisted pair of telephone lines. FIG. 1 shows the North America VDSL frequency plan 100 with the overlapping of the amateur radio bands 101a, 101b, 101c and 101d. To ensure a reliable data transmission, VDSL system usually avoids using the tones whose frequencies fall into the amateur radio bands, generally identified as 101 in FIG. 1. This would prevent the RFI from interfering with the VDSL data transmission if the RFI is orthogonal to the tones used in VDSL transmission.
Note that “orthogonality” holds only if the RFI is purely sinusoidal as shown in the conceptual time domain plot in FIG. 2A and its frequency is an exact integer multiple of the tone spacing Δf=4.3125 KHz, i.e., fRFI=n×4.3125 KHz, where n is an integer. FIG. 2A shows a conceptual time domain plot of a pure sinusoid. In this example, the power spectrum, obtained from an 8192-point FFT (Fast Fourier Transform) using a rectangular window of time span of 1/Δf, will be a delta function at n, as shown in FIG. 2B. The orthogonality fails if the RFI is purely sinusoidal but in the case of RFI from amateur radio, the frequency is not an exact integer multiple of the tone spacing Δf=4.3125 KHz, i.e., fRFI=(n+δ)×Δf, where n is a integer and 0<δ<1. In this real-world example of an amateur-radio modulated carrier shown in FIG. 3A as a time domain plot, the power spectrum will exhibit side-lobes as shown in the frequency domain plot of FIG. 3B. In any case, if the RFI is a modulated carrier using, for example, amplitude modulation (AM), the power spectrum will always exhibit side-lobes, regardless of the carrier frequency. Whenever side-lobes exist, the RFI spills widely over the frequency spectrum and disrupts the orthogonal tones used by upstream or downstream traffic and degrades the quality of transmission.
FIG. 4 shows one way to mitigate the degradation of system performance due to the side-lobes of RFI is to use a better window when performing FFT. For example, a “raised-cosine” window 110 can be applied instead of a rectangular window 112. In contrast with a rectangular window, which has abrupt transitions near both edges, a non-rectangular window such as the “raised-cosine” window has graceful, smooth transition near both edges. To make that smooth transition, a non-rectangular window needs to be wider than a rectangular window, as shown in FIG. 4. On the other hand, the number of points of the FFT needs to be the same for both windows. Therefore, a “folding” operation needs to be performed when using a non-rectangular window. For example, if we use 8192-points FFT, the rectangular window will cover 8192 time-domain samples, labeled x0, x1, x2, . . . , x8191. If we use a “raised cosine” window that extends 64 samples beyond both edges of the rectangular window, we have a total of 8320 samples (8192+(2×64)), labeled y−64,y−63,y−62, . . . , y8255. The windowing operation multiplies each of the (8192+(2×64)) samples with a respective, pre-defined value. Then we need to fold the last 64 samples, i.e. y8192, y8193, . . . , y8255, by removing these samples but adding their values to the first 64 samples of the corresponding rectangular window, i.e. samples y0, y1, y2, . . . , y63, respectively. Likewise, we need to fold the first 64 samples, i.e. y−64, y−63, . . . , y−1, by removing these samples but adding their values to the last 64 samples of the corresponding rectangular window, i.e. samples y8128, y8129, . . . , y8191, respectively. Or, preferably, we may simply use one “folding” operation by removing the first (or last) 2×64 samples, i.e. y−64, y−63, . . . , y63 (or y8128, y8129, . . . , y8255), but adding their values to the last (or first) 2×64 samples of the non-rectangular window, i.e. y8128, y8129, . . . , y8255 (or y−64, y−63, . . . , y63), respectively. The power spectrum of RFI of frequency 424.35×Δf using a rectangular window 122, along with the spectrum of the same RFI using a raised cosine window 120, are shown in FIG. 5. It clearly shows that good windowing can suppress RFI side-lobes more effectively than a rectangular window.
Windowing can suppress some of the side-lobes of RFI, but the performance in RFI suppression using merely windowing is usually not good enough. A further cancellation of RFI is usually required to achieve a satisfactory performance. RFI cancellation can be performed in either the analog domain (before analog-digital conversion) or in the digital domain (after analog-digital conversion). Analog RFI cancellers are less commonly used due to their drawbacks in design difficulty and mediocre performance. Digital RFI cancellers are more popular. Digital RFI cancellation can be performed in either the time domain (before FFT) or in the frequency domain (after FFT). In particular, MCM systems are inherently amenable to frequency domain signal processing and therefore prefer frequency domain RFI cancellation.
A classic method of frequency domain RFI cancellation is described by Wiese and Bingham and is described in U.S. Pat. No. 6,014,412. An exemplary receiver block diagram that can utilize the Wiese and Bingham method is shown in FIG. 6. The receiver input 201 is processed by an analog front-end 203, converted into digital samples using an analog-to-digital converter 205, windowed 207 using, for example, a filter having a raised cosine response curve 112 or a rectangular response curve 110, and converted into frequency domain using FFT 209 which is an efficient implementation of Discrete Fourier Transform (DFT). Finally, the RFI contribution at the FFT output is cancelled by canceller 211.
The method described by Wiese and Bingham is based on the observation that, the FFT (using a rectangular window) of a purely sinusoidal RFI of frequency (n+δ) Δf is approximately
                              RFI                      n            +            m                          =                  A                      m            -            δ                                              Equation        ⁢                                  ⁢        1            
Here, RFIn+m is the spectral component at frequency (n+m)·Δf, and A is a complex constant determined by the amplitude and phase of the RFI. FIG. 7 shows the FFT output that demonstrates the meanings of n, m, δ, and the roll-off of the magnitude as |m| increases. In the implementation of the Wiese and Bingham technique, one just simply chooses two arbitrary m's (say m=0 and m=1), finds RFIn+m for the respective m from the FFT output, applies Equation 1 to set up two linear equations to solve for the two unknowns δ and A. Once δ and A are obtained, the spectral component at any m can be computed and cancelled from the FFT output. This computation may be performed by a processor such as a Digital Signal Processor (DSP), a standard microprocessor and any other special or general processor.
In real life, the amplitude of the RFI is usually modulated by a slowly varying message content such as is typically found in RFI sourced by amateur radio. If the modulation causes the amplitude of the RFI to increase or decrease linearly with time (i.e., exhibiting a trapezoidal envelope) within the rectangular window, the FFT output is approximately
                              RFI                      n            +            m                          =                              A                          m              -              δ                                +                      B                                          (                                  m                  -                  δ                                )                            2                                                          Equation        ⁢                                  ⁢        2            
Here, A and B are two complex constants determined by the phase of the RFI, and the trapezoidal envelope. However, as mentioned above, rectangular windowing leads to high side-lobes in the FFT output and people usually resort to a better window, such as raised cosine window, that helps to suppress the side-lobes. Wiese and Bingham estimated that the effect of windowing can be approximated by multiplication by a single complex number Wm for each value of m, i.e.,
                              RFI                      n            +            m                          =                              [                                          A                                  m                  -                  δ                                            +                              B                                                      (                                          m                      -                      δ                                        )                                    2                                                      ]                    ·                      W            m                                              Equation        ⁢                                  ⁢        3            
Note that Wm only depends on the window shape and can be pre-computed and stored beforehand. There are three unknowns in Equation 3: A, B and δ. Theoretically, it takes three equations to solve for three unknowns. To reduce the computation complexity, Wiese and Bingham described that δ can be obtained by finding the spectral components of the FFT output at m=0 and m=1 and then using the following approximation:
                    δ        =                                                                          Re                ⁢                                  {                                                            RFI                                              n                        +                        1                                                                                    W                      1                                                        }                                                                    +                                                        Im                ⁢                                  {                                                            RFI                                              n                        +                        1                                                                                    W                      1                                                        }                                                                                                                                    Re                ⁢                                  {                                                            RFI                                              n                        +                        1                                                                                    W                      1                                                        }                                                                    +                                                        Im                ⁢                                  {                                                            RFI                                              n                        +                        1                                                                                    W                      1                                                        }                                                                    +                                                        Re                ⁢                                  {                                                            RFI                      n                                                              W                      0                                                        }                                                                    +                                                        Im                ⁢                                  {                                                            RFI                      n                                                              W                      0                                                        }                                                                                                      Equation        ⁢                                  ⁢        4            
Once δ is obtained, A and B can be solved using the following equation derived from applying Equation 3 to m=0 and m=1:
                              [                                                    A                                                                    B                                              ]                =                              [                                                                                -                    1                                                                    1                                                                                                  1                    -                    δ                                                                    δ                                                      ]                    ⁡                      [                                                                                                      δ                      2                                        ⁢                                                                  RFI                        n                                                                    W                        0                                                                                                                                                                                                            (                                                  1                          -                          δ                                                )                                            2                                        ⁢                                                                  RFI                                                  n                          +                          1                                                                                            W                        1                                                                                                                  ]                                              Equation        ⁢                                  ⁢        5            
Once parameters A, B and δ are known, the RFI contribution to other spectral component can be estimated using Equation 3 for any m of interest. In this manner, RFI can be cancelled from the FFT output.
Wiese and Bingham also describe a method to improve the performance of their approximation by generalizing Equation 3 to Equation 6 to combat a more general envelope of RFI.
                              RFI                      n            +            m                          =                              [                                                            A                  1                                                  m                  -                  δ                                            +                                                A                  2                                                                      (                                          m                      -                      δ                                        )                                    2                                            +                                                A                  3                                                                      (                                          m                      -                      δ                                        )                                    3                                            +              …                        ]                    ·                      W            m                                              Equation        ⁢                                  ⁢        6            However, the computation involved in solving for the coefficients A1, A2, A3, and so on, and applying Equation 6 is too complex to be practical. This computationally-complex estimation algorithm is difficult or impossible to perform during reception and processing of real-time signals.
There are several shortcomings in the existing RFI cancellation methods in general and in the method described by Wiese and Bingham in particular. For example, conventional RFI cancellation requires per tone reciprocal computation. To cancel the RFI contribution for a given m, we need to compute the factor 1/(m−δ), which is data dependent and requires high computation complexity or large lookup table memory. In addition, the performance of these cancellation algorithms depends on the accuracy in the estimate of δ. The estimate of δ using Equation 4 is not accurate when δ is small (near 0) or large (near 1). When the estimate of δ is off the mark, the estimates of A and B using Equation 5 are less accurate. In implementation, using Equation 3 results in poorer performance.
Yet another shortcoming of these conventional RFI cancellation methods is the severe performance degradation with non-trapezoidal envelope of the RFI signal. The RFI model described above assumes that the time-domain envelope is approximately trapezoidal during the window span. Once the envelope of the RFI significantly deviates from the linear approximation during the window span, the performance of RFI cancellation degrades dramatically. Higher order models may help, but the computation gets increasingly complicated. What is needed is a RFI cancellation scheme that requires lower computation complexity yet yields more accurate results.